package app.view.mediator 
{
	import app.facade.App;
	import app.model.proxy.AssetProxy;
	import app.model.proxy.ConfigProxy;
	import app.model.proxy.ConnectProxy;
	import app.model.proxy.ExternalProxy;
	import org.puremvc.as3.interfaces.IMediator;
	import org.puremvc.as3.patterns.mediator.Mediator;
	/**
	 * ...
	 * @author PHANCUONG87
	 */
	public class FactoryMediator extends Mediator implements IMediator
	{
		

		public static var config:ConfigProxy;
		public static var external:ExternalProxy;
		public static var connect:ConnectProxy;
			
		public function FactoryMediator( NAME:String, viewComponent:Object ){
			super( NAME, viewComponent );		
        }
		
		public function registerProxy():void {
			config 			= config();
			external 		= external();
			connect 		= connect();
		}
		
		private function config():ConfigProxy{
			return facade.retrieveProxy(ConfigProxy.NAME) as ConfigProxy;
		}
		
		private function external():ExternalProxy{
			return facade.retrieveProxy(ExternalProxy.NAME) as ExternalProxy;
		}
		
		private function connect():ConnectProxy{
			return facade.retrieveProxy(ConnectProxy.NAME) as ConnectProxy;
		}
			
	}

}